package cs348a.test.pilot;

import cs348a.data.SequenceData;

public interface Pilot {
	static public int DEFAULT_Z = 5;
	
	/**
	 * Sets the sequence
	 * 
	 * @param sd
	 */
	void setSequenceData(SequenceData sd);
	
	/**
	 * Returns the current curve index
	 * 
	 * @return
	 */
	int getCurveNo();
	
	/**
	 * Returns current segment
	 * 
	 * @return
	 */
	int getSegmentNo();
	float[] getCurrentPosition();
	void setPosition(int curveNo, int segNo);
	
	int getZOffset();
	void setZOffset(int z);
	void setTimeInterval(int inMilliSec);
	
	void setMode(boolean lookDown);
	boolean isLookingDown();
	
	void startTour();
	void stopTour();
	boolean isRunning();
	
	void setPilotListener(PilotListener pl);
}
